home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.5 / cvs.5 next >
Encoding:
Text File  |  1995-07-26  |  22.9 KB  |  397 lines

  1.  
  2.  
  3.  
  4.      ccccvvvvssss((((5555))))          XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy 1111999999992222))))          ccccvvvvssss((((5555))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           cvs - Concurrent Versions System support files
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////mmmmoooodddduuuulllleeeessss,,,,vvvv
  13.  
  14.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccoooommmmmmmmiiiittttiiiinnnnffffoooo,,,,vvvv
  15.  
  16.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////llllooooggggiiiinnnnffffoooo,,,,vvvv
  17.  
  18.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////rrrrccccssssiiiinnnnffffoooo,,,,vvvv
  19.  
  20.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////eeeeddddiiiittttiiiinnnnffffoooo,,,,vvvv
  21.  
  22.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccvvvvssssiiiiggggnnnnoooorrrreeee,,,,vvvv
  23.  
  24.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////hhhhiiiissssttttoooorrrryyyy
  25.  
  26.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  27.           ccccvvvvssss is a system for providing source control to hierarchical
  28.           collections  of source directories.  Commands and procedures
  29.           for using ccccvvvvssss are described in ccccvvvvssss(1111).
  30.  
  31.           ccccvvvvssss manages _s_o_u_r_c_e _r_e_p_o_s_i_t_o_r_i_e_s, the directories  containing
  32.           master  copies  of the revision-controlled files, by copying
  33.           particular revisions of the files to (and modifications back
  34.           from)  developers' private _w_o_r_k_i_n_g _d_i_r_e_c_t_o_r_i_e_s.  In terms of
  35.           file structure, each individual source repository is an  im-
  36.           mediate subdirectory of $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT.
  37.  
  38.           The files described here are supporting files; they  do  not
  39.           have to exist for ccccvvvvssss to operate, but they allow you to make
  40.           ccccvvvvssss operation more flexible.
  41.  
  42.           The ccccvvvvssssiiiinnnniiiitttt(1111) shell script included at the top-level of the
  43.           ccccvvvvssss   distribution   can   be   used  to  setup  an  initial
  44.           $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT area, if you don't have one already.
  45.  
  46.           You can use the `modules' file to define symbolic names  for
  47.           collections  of  source maintained with ccccvvvvssss.  If there is no
  48.           `modules' file, developers must specify complete path  names
  49.           (absolute,  or relative to $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT) for the files they wish
  50.           to manage with ccccvvvvssss commands.
  51.  
  52.           You can use the `commitinfo' file to define programs to exe-
  53.           cute  whenever `ccccvvvvssss ccccoooommmmmmmmiiiitttt' is about to execute.  These pro-
  54.           grams are used for ``pre-commit'' checking  to  verify  that
  55.           the  modified,  added, and removed files are really ready to
  56.           be committed.  Some uses for this check might be to turn off
  57.           a  portion (or all) of the source repository from a particu-
  58.           lar person or  group.   Or,  perhaps,  to  verify  that  the
  59.           changed  files  conform  to  the site's standards for coding
  60.  
  61.  
  62.  
  63.      Page 1                                           (printed 7/8/94)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      ccccvvvvssss((((5555))))          XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy 1111999999992222))))          ccccvvvvssss((((5555))))
  71.  
  72.  
  73.  
  74.           practice.
  75.  
  76.           You can use the `loginfo' file to define programs to execute
  77.           after  any  ccccoooommmmmmmmiiiitttt,  which writes a log entry for changes in
  78.           the repository.  These logging programs might be used to ap-
  79.           pend  the  log  message  to a file.  Or send the log message
  80.           through electronic mail  to  a  group  of  developers.   Or,
  81.           perhaps, post the log message to a particular newsgroup.
  82.  
  83.           You can use the `rcsinfo' file to define forms for log  mes-
  84.           sages.
  85.  
  86.           You can use the `editinfo' file to define a program to  exe-
  87.           cute  for editing/validating `ccccvvvvssss ccccoooommmmmmmmiiiitttt' log entries.  This
  88.           is most useful when used with a `rcsinfo'  forms  specifica-
  89.           tion,  as  it  can verify that the proper fields of the form
  90.           have been filled in by the user committing the change.
  91.  
  92.           You can use the `cvsignore' file to specify the default list
  93.           of files to ignore during uuuuppppddddaaaatttteeee.
  94.  
  95.           You can use the `history' file to record  the  ccccvvvvssss  commands
  96.           that  affect  the repository.  The creation of this file en-
  97.           ables history logging.
  98.  
  99.      FFFFIIIILLLLEEEESSSS
  100.           mmmmoooodddduuuulllleeeessss
  101.                The `modules' file records your  definitions  of  names
  102.                for collections of source code.  ccccvvvvssss will use these de-
  103.                finitions if you create a file with the right format in
  104.                `$$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////mmmmoooodddduuuulllleeeessss,,,,vvvv'.  The mmmmkkkkmmmmoooodddduuuulllleeeessss(1111) command
  105.                should be run whenever the  modules  file  changes,  so
  106.                that  the appropriate files can be generated (depending
  107.                on how you have configured ccccvvvvssss operation).
  108.  
  109.                To allow convenient editing of the `modules'  file  it-
  110.                self, the file should include an entry like the follow-
  111.                ing (where _l_o_c_a_l_b_i_n represents the directory where your
  112.                site installs programs like mmmmkkkkmmmmoooodddduuuulllleeeessss(1111)):
  113.  
  114.                mmmmoooodddduuuulllleeeessss    ----iiii ////_l_o_c_a_l_b_i_n////mmmmkkkkmmmmoooodddduuuulllleeeessss CCCCVVVVSSSSRRRROOOOOOOOTTTT mmmmoooodddduuuulllleeeessss
  115.  
  116.                This defines the name `mmmmoooodddduuuulllleeeessss' as the module name  for
  117.                the file itself, so that you can use
  118.  
  119.                          eeeexxxxaaaammmmpppplllleeee%%%% ccccvvvvssss cccchhhheeeecccckkkkoooouuuutttt mmmmoooodddduuuulllleeeessss
  120.  
  121.                to get an editable copy of the file.  You should define
  122.                similar  module  entries  for  the  other configuration
  123.                files described here (except  `history').   The  ccccvvvvssssiiiinnnn----
  124.                iiiitttt(1111) script will setup a smilar `modules' file for you
  125.                automatically.
  126.  
  127.  
  128.  
  129.      Page 2                                           (printed 7/8/94)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      ccccvvvvssss((((5555))))          XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy 1111999999992222))))          ccccvvvvssss((((5555))))
  137.  
  138.  
  139.  
  140.                The `modules' file may contain blank lines and comments
  141.                (lines  beginning  with  `####') as well as module defini-
  142.                tions.  Long lines can be continued on the next line by
  143.                specifying a backslash (``\'') as the last character on
  144.                the line.
  145.  
  146.                A _m_o_d_u_l_e _d_e_f_i_n_i_t_i_o_n is a single line of  the  `modules'
  147.                file,  in  either of two formats.  In both cases, _m_n_a_m_e
  148.                represents the symbolic module name, and the  remainder
  149.                of the line is its definition.
  150.  
  151.                _m_n_a_m_e ----aaaa _a_l_i_a_s_e_s...
  152.                This represents the simplest way of defining  a  module
  153.                _m_n_a_m_e.   The  `----aaaa'  flags  the  definition  as a simple
  154.                alias: ccccvvvvssss will treat any use of _m_n_a_m_e  (as  a  command
  155.                argument)  as  if  the  list  of names _a_l_i_a_s_e_s had been
  156.                specified instead.  _a_l_i_a_s_e_s may  contain  either  other
  157.                module  names or paths.  When you use paths in _a_l_i_a_s_e_s,
  158.                `ccccvvvvssss cccchhhheeeecccckkkkoooouuuutttt' creates all intermediate directories  in
  159.                the  working  directory,  just  as if the path had been
  160.                specified explicitly in the ccccvvvvssss arguments.
  161.  
  162.                _m_n_a_m_e [ _o_p_t_i_o_n_s ] _d_i_r [ _f_i_l_e_s... ] [ &&&&_m_o_d_u_l_e... ]
  163.  
  164.                In the simplest case, this form  of  module  definition
  165.                reduces  to `_m_n_a_m_e _d_i_r'.  This defines all the files in
  166.                directory _d_i_r as module _m_n_a_m_e.  _d_i_r is a relative  path
  167.                (from  $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT) to a directory of source in one of the
  168.                source repositories.  In this case, on cccchhhheeeecccckkkkoooouuuutttt, a sin-
  169.                gle  directory  called  _m_n_a_m_e  is  created as a working
  170.                directory; no intermediate directory levels are used by
  171.                default,  even  if  _d_i_r  was  a  path involving several
  172.                directory levels.
  173.  
  174.                By explicitly specifying _f_i_l_e_s in the module definition
  175.                after  _d_i_r, you can select particular files from direc-
  176.                tory _d_i_r.  The sample definition for mmmmoooodddduuuulllleeeessss is an  ex-
  177.                ample  of  a  module  defined with a single file from a
  178.                particular directory.  Here is another example:
  179.  
  180.                mmmm4444tttteeeesssstttt  uuuunnnnssssuuuuppppppppoooorrrrtttteeeedddd////ggggnnnnuuuu////mmmm4444 ffffoooorrrreeeeaaaacccchhhh....mmmm4444 ffffoooorrrrlllloooooooopppp....mmmm4444
  181.  
  182.                With this definition, executing `ccccvvvvssss  cccchhhheeeecccckkkkoooouuuutttt  mmmm4444tttteeeesssstttt'
  183.                will  create  a  single working directory `m4test' con-
  184.                taining the two files listed, which both  come  from  a
  185.                common  directory several levels deep in the ccccvvvvssss source
  186.                repository.
  187.  
  188.                A module definition can refer to other modules  by  in-
  189.                cluding  `&&&&_m_o_d_u_l_e' in its definition.  cccchhhheeeecccckkkkoooouuuutttt creates
  190.                a subdirectory for each such _m_o_d_u_l_e,  in  your  working
  191.                directory.
  192.  
  193.  
  194.  
  195.      Page 3                                           (printed 7/8/94)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      ccccvvvvssss((((5555))))          XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy 1111999999992222))))          ccccvvvvssss((((5555))))
  203.  
  204.  
  205.  
  206.                _N_e_w _i_n ccccvvvvssss _1._3; avoid this feature  if  sharing  module
  207.                definitions with older versions of ccccvvvvssss.
  208.  
  209.                Finally, you can use one or more of the  following  _o_p_-
  210.                _t_i_o_n_s in module definitions:
  211.  
  212.                `----dddd _n_a_m_e', to name the working directory something oth-
  213.                er than the module name.
  214.                _N_e_w _i_n ccccvvvvssss _1._3; avoid this feature  if  sharing  module
  215.                definitions with older versions of ccccvvvvssss.
  216.  
  217.                `----iiii _p_r_o_g' allows you to specify a program _p_r_o_g  to  run
  218.                whenever  files  in  a module are committed.  _p_r_o_g runs
  219.                with a single argument, the full pathname  of  the  af-
  220.                fected  directory in a source repository.   The `commi-
  221.                tinfo', `loginfo', and `editinfo' files  provide  other
  222.                ways to call a program on ccccoooommmmmmmmiiiitttt.
  223.  
  224.                `----oooo _p_r_o_g' allows you to specify a program _p_r_o_g  to  run
  225.                whenever  files in a module are checked out.  _p_r_o_g runs
  226.                with a single argument, the module name.
  227.  
  228.                `----tttt _p_r_o_g' allows you to specify a program _p_r_o_g  to  run
  229.                whenever  files in a module are tagged.  _p_r_o_g runs with
  230.                two arguments:  the module name and  the  symbolic  tag
  231.                specified to rrrrttttaaaagggg.
  232.  
  233.                `----uuuu _p_r_o_g' allows you to specify a program _p_r_o_g  to  run
  234.                whenever  `ccccvvvvssss  uuuuppppddddaaaatttteeee'  is executed from the top-level
  235.                directory of the checked-out module.  _p_r_o_g runs with  a
  236.                single argument, the full path to the source repository
  237.                for this module.
  238.  
  239.           ccccoooommmmmmmmiiiittttiiiinnnnffffoooo, llllooooggggiiiinnnnffffoooo, rrrrccccssssiiiinnnnffffoooo, eeeeddddiiiittttiiiinnnnffffoooo
  240.                These files all specify programs to call  at  different
  241.                points in the `ccccvvvvssss ccccoooommmmmmmmiiiitttt' process.  They have a common
  242.                structure.  Each line is a pair of  fields:  a  regular
  243.                expression,  separated by whitespace from a filename or
  244.                command-line template.  Whenever one of the regular ex-
  245.                pression  matches  a  directory name in the repository,
  246.                the rest of the line is used.  If the line begins  with
  247.                a  #### character, the entire line is considered a comment
  248.                and is ignored.  Whitespace between the fields is  also
  249.                ignored.
  250.  
  251.                For `loginfo', the rest of the line is  a  command-line
  252.                template  to  execute.   The  templates can include not
  253.                only a program name, but whatever list of arguments you
  254.                wish.   If  you  write  `%%%%ssss'  somewhere on the argument
  255.                list, ccccvvvvssss supplies, at that point, the  list  of  files
  256.                affected  by the ccccoooommmmmmmmiiiitttt. The first entry in the list is
  257.                the relative path within the  source  repository  where
  258.  
  259.  
  260.  
  261.      Page 4                                           (printed 7/8/94)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      ccccvvvvssss((((5555))))          XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy 1111999999992222))))          ccccvvvvssss((((5555))))
  269.  
  270.  
  271.  
  272.                the change is being made.  The remaining arguments list
  273.                the files that are being modified, added, or removed by
  274.                this ccccoooommmmmmmmiiiitttt invocation.
  275.  
  276.                For `commitinfo', the rest of the line  is  a  command-
  277.                line template to execute.  The template can include can
  278.                include not only a program name, but whatever  list  of
  279.                arguments  you  wish.   The  full  path  to the current
  280.                source repository is appended to the template, followed
  281.                by  the  file names of any files involved in the commit
  282.                (added, removed, and modified files).
  283.  
  284.                For `rcsinfo', the rest of the line is the full path to
  285.                a  file that should be loaded into the log message tem-
  286.                plate.
  287.  
  288.                For `editinfo', the rest of the line is a  command-line
  289.                template  to execute.  The template can include can in-
  290.                clude not only a program name, but whatever list of ar-
  291.                guments  you  wish.   The  full path to the current log
  292.                message template file is appended to the template.
  293.  
  294.                You can use one of two special  strings  instead  of  a
  295.                regular expression: `AAAALLLLLLLL' specifies a command line tem-
  296.                plate that  must  always  be  executed,  and  `DDDDEEEEFFFFAAAAUUUULLLLTTTT'
  297.                specifies  a command line template to use if no regular
  298.                expression is a match.
  299.  
  300.                The `commitinfo' file contains commands to execute  _b_e_-
  301.                _f_o_r_e  any  other ccccoooommmmmmmmiiiitttt activity, to allow you to check
  302.                any conditions that must be satisfied before ccccoooommmmmmmmiiiitttt can
  303.                proceed.   The  rest of the ccccoooommmmmmmmiiiitttt will execute only if
  304.                all selected commands from this  file  exit  with  exit
  305.                status 0000.
  306.  
  307.                The `rcsinfo' file allows you to specify _l_o_g  _t_e_m_p_l_a_t_e_s
  308.                for  the  ccccoooommmmmmmmiiiitttt  logging  session; you can use this to
  309.                provide a form to edit when filling out the ccccoooommmmmmmmiiiitttt log.
  310.                The  field  after the regular expression, in this file,
  311.                contains filenames (of  files  containing  the  logging
  312.                forms) rather than command templates.
  313.  
  314.                The `editinfo' file allows you to execute a script  _b_e_-
  315.                _f_o_r_e  _t_h_e  _c_o_m_m_i_t _s_t_a_r_t_s, but after the log information
  316.                is recorded.  These "edit" scripts can verify  informa-
  317.                tion  recorded in the log file.  If the edit script ex-
  318.                its wth a non-zero exit status, the commit is aborted.
  319.  
  320.                The `loginfo' file contains commands to execute _a_t  _t_h_e
  321.                _e_n_d  of  a  commit.  The text specified as a commit log
  322.                message is piped through the command; typical uses  in-
  323.                clude  sending  mail, filing an article in a newsgroup,
  324.  
  325.  
  326.  
  327.      Page 5                                           (printed 7/8/94)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      ccccvvvvssss((((5555))))          XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy 1111999999992222))))          ccccvvvvssss((((5555))))
  335.  
  336.  
  337.  
  338.                or appending to a central file.
  339.  
  340.           ccccvvvvssssiiiiggggnnnnoooorrrreeee, ....ccccvvvvssssiiiiggggnnnnoooorrrreeee
  341.                The default list of files (or sssshhhh(1111) file name patterns)
  342.                to  ignore  during  `ccccvvvvssss uuuuppppddddaaaatttteeee'.  At startup time, ccccvvvvssss
  343.                loads the compiled in default list of  file  name  pat-
  344.                terns  (see  ccccvvvvssss(1111)).  Then the per-repository list in-
  345.                cluded in $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccvvvvssssiiiiggggnnnnoooorrrreeee is loaded,  if  it
  346.                exists.    Then   the  per-user  list  is  loaded  from
  347.                `$HOME/.cvsignore'.  Finally, as ccccvvvvssss traverses  through
  348.                your   directories,  it  will  load  any  per-directory
  349.                `.cvsignore' files whenever it finds one.   These  per-
  350.                directory files are only valid for exactly the directo-
  351.                ry that contains them, not for any sub-directories.
  352.  
  353.           hhhhiiiissssttttoooorrrryyyy
  354.                Create this file in $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT to enable  history
  355.                logging (see the description of `ccccvvvvssss hhhhiiiissssttttoooorrrryyyy').
  356.  
  357.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  358.           ccccvvvvssss(1111), mmmmkkkkmmmmoooodddduuuulllleeeessss(1111).
  359.  
  360.      CCCCOOOOPPPPYYYYIIIINNNNGGGG
  361.           Copyright c 1992 Cygnus Support, Brian  Berliner,  and  Jeff
  362.           Polk
  363.  
  364.           Permission is granted to make and distribute verbatim copies
  365.           of  this  manual provided the copyright notice and this per-
  366.           mission notice are preserved on all copies.
  367.  
  368.           Permission is granted to copy and distribute  modified  ver-
  369.           sions of this manual under the conditions for verbatim copy-
  370.           ing, provided that the entire resulting derived work is dis-
  371.           tributed under the terms of a permission notice identical to
  372.           this one.
  373.  
  374.           Permission is granted to copy and distribute translations of
  375.           this  manual  into  another language, under the above condi-
  376.           tions for modified versions, except that this permission no-
  377.           tice  may  be  included in translations approved by the Free
  378.           Software Foundation instead of in the original English.
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                           (printed 7/8/94)
  394.  
  395.  
  396.  
  397.